// hillis steele scan 属于inclusive 扫描
    // 时间复杂度为O(logN)
    // 空间复杂度为O(nlogN)
    // 算法描述链接:https://www.geeksforgeeks.org/hillis-steele-scan-parallel-prefix-scan-algorithm/

#include <iostream>
#include <vector>

// student todo
std::vector<int> scan(const std::vector<int>& h_data)
{

    return {};
}  

int main(int argc, char** argv)
{
    std::cout << "hillis steele scan." << std::endl;

    // cpu data
    const int size = 1024;
    std::vector<int> h_data(1024);
    for(int i = 0; i < size; ++i){
        h_data[i] = i;
    }


    // scan result
    std::vector<int> scan(1024);
    scan[0] = h_data[0];
    for(int i = 1; i < size; ++i){
        scan[i] = scan[i-1] + h_data[i];
    }
    
    return 0;
}